#ifndef RESETWIDGET_H
#define RESETWIDGET_H

#include <QTimer>
#include <QWidget>
#include "global.h"
#include <QMap>
namespace Ui {
class ResetWidget;
}

class ResetWidget : public QWidget
{
    Q_OBJECT

public:
    explicit ResetWidget(QWidget *parent = nullptr);
    ~ResetWidget();


    void Clear();


private:
    int _countDown;
    QTimer* _countdownTimer;
    void initHttpHandlers();
    void getCode();
    void startCountdown();
    void updateCountdown();
    void showTip(QString str, QString state);
    void connectTips();
    void AddTipErr(TipErr te, QString tips);
    void DelTipErr(TipErr te);
    void ResetIsEmpty();
    void SoltResetModeFinish(ReqId reqId,QString res,ErrorCodes err);
    Ui::ResetWidget *ui;
    QMap<TipErr, QString> _tipErrs;
    bool count[5];
    QTimer *_timer; // 定时器
    int _remainingTime; // 剩余时间（秒）
    QMap<ReqId,std::function<void(const QJsonObject&)>> _handlers;
signals:
    void SwitchLoin();
};

#endif // RESETWIDGET_H
